package com.github.data_manage.domain.po

import cn.idev.excel.annotation.ExcelIgnore
import cn.idev.excel.annotation.ExcelProperty
import com.github.data_manage.util.JpaCumulativeInfoJsonConverter
import com.github.data_manage.util.JpaExposureInfoJsonConverter
import jakarta.persistence.*
import java.math.BigDecimal
import java.time.LocalDate
import kotlin.reflect.KMutableProperty
import kotlin.reflect.full.memberProperties
import kotlin.reflect.jvm.javaField

@Entity
@Table(name = "t_fund_depth_research_attach")
open class FundDepthResearchAttach {

    constructor(fundId: Int?, dataMonth: LocalDate) {
        this.fundId = fundId
        this.dataMonth = dataMonth
    }

    constructor()

    companion object {

        val ignoreProperties = setOf("id","fundId","dataMonth")

        val propertyMap: Map<String, KMutableProperty<*>> by lazy{
            val resultMap = HashMap<String, KMutableProperty<*>>(400)
            for (property in FundDepthResearchAttach::class.memberProperties) {
                val propertyName = property.name
                if (ignoreProperties.contains(propertyName)) {
                    continue
                }
                resultMap[propertyName] = property as KMutableProperty<*>
            }
            return@lazy resultMap
        }

        val propertyIndexMap: Map<String, Int> by lazy {
            val resultMap = HashMap<String, Int>(400)
            val clazz = FundDepthResearchAttach::class
            for (property in clazz.memberProperties) {
                val propertyName = property.name
                if (ignoreProperties.contains(propertyName)) {
                    continue
                }
                val javaField = property.javaField!!
                val excelProperty = javaField.getAnnotation(ExcelProperty::class.java)
                if (excelProperty != null) {
                    if (resultMap.containsValue(excelProperty.index)) {
                        println("${javaField.name}  ${excelProperty.index}")
                    }
                    resultMap[javaField.name] = excelProperty.index
                }
            }
            return@lazy resultMap
        }

        val propertyNameMap: Map<String, String> by lazy {
            val resultMap = HashMap<String, String>(400)
            val clazz = FundDepthResearchAttach::class
            for (property in clazz.memberProperties) {
                val propertyName = property.name
                if (ignoreProperties.contains(propertyName)) {
                    continue
                }
                val javaField = property.javaField!!
                val excelProperty = javaField.getAnnotation(ExcelProperty::class.java)
                if (excelProperty != null) {
                    for (s in excelProperty.value) {
                        resultMap[s] = javaField.name
                    }
                }
            }
            return@lazy resultMap
        }

    }


    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @ExcelIgnore
    open var id: Long? = null

    @Column(name = "fund_id")
    open var fundId: Int? = null

    open lateinit var dataMonth: LocalDate

    @ExcelProperty(index = 1, value = ["Fund AUM (mn)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var fundAumMn: BigDecimal? = null

    @ExcelProperty(index = 2, value = ["Strategy AUM (mn)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var strategyAumMn: BigDecimal? = null

    @ExcelProperty(index = 3, value = ["Firm AUM (mn)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var firmAumMn: BigDecimal? = null

    @ExcelProperty(index = 4, value = ["Exposure_Long"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureLong: BigDecimal? = null

    @ExcelProperty(index = 5, value = ["Exposure_Short"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureShort: BigDecimal? = null

    @ExcelProperty(index = 6, value = ["Exposure_Net Limit 1"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureNetLimit1: BigDecimal? = null

    @ExcelProperty(index = 7, value = ["Exposure_ Gross Limit 1"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureGrossLimit1: BigDecimal? = null

    @ExcelProperty(index = 8, value = ["Exposure_Net Limit 2"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureNetLimit2: BigDecimal? = null

    @ExcelProperty(index = 9, value = ["Exposure_ Gross Limit 2"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureGrossLimit2: BigDecimal? = null

    @ExcelProperty(index = 10, value = ["Exposure_Country Net Limit"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCountryNetLimit: BigDecimal? = null

    @ExcelProperty(index = 11, value = ["Exposure_Country Gross Limit"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCountryGrossLimit: BigDecimal? = null

    @ExcelProperty(index = 12, value = ["Exposure_Sector Net Limit"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSectorNetLimit: BigDecimal? = null

    @ExcelProperty(index = 13, value = ["Exposure_Sector Gross Limit"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSectorGrossLimit: BigDecimal? = null

    @ExcelProperty(index = 14, value = ["Exposure（行业划分）Exposure_Consumer Staples (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureConsumerStaplesL: BigDecimal? = null

    @ExcelProperty(index = 15, value = ["Exposure（行业划分）Exposure_Consumer Discretionary (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureConsumerDiscretionaryL: BigDecimal? = null

    @ExcelProperty(index = 16, value = ["Exposure（行业划分）Exposure_Information Technology  (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureInformationTechnologyL: BigDecimal? = null

    @ExcelProperty(index = 17, value = ["Exposure（行业划分）Exposure_Financials (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureFinancialsL: BigDecimal? = null

    @ExcelProperty(index = 18, value = ["Exposure（行业划分）Exposure_Health Care (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureHealthCareL: BigDecimal? = null

    @ExcelProperty(index = 19, value = ["Exposure（行业划分）Exposure_Industrials (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureIndustrialsL: BigDecimal? = null

    @ExcelProperty(index = 20, value = ["Exposure（行业划分）Exposure_Utilities (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureUtilitiesL: BigDecimal? = null

    @ExcelProperty(index = 21, value = ["Exposure（行业划分）Exposure_Materials (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureMaterialsL: BigDecimal? = null

    @ExcelProperty(index = 22, value = ["Exposure（行业划分）Exposure_Real Estate (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureRealEstateL: BigDecimal? = null

    @ExcelProperty(index = 23, value = ["Exposure（行业划分）Exposure_Energy (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureEnergyL: BigDecimal? = null

    @ExcelProperty(index = 24, value = ["Exposure（行业划分）Exposure_Communication Service (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCommunicationServiceL: BigDecimal? = null

    @ExcelProperty(index = 25, value = ["Exposure（行业划分）Exposure_Index/ ETF (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureIndexETFL: BigDecimal? = null

    @ExcelProperty(index = 26, value = ["Exposure（行业划分）Exposure_Cash (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCashL: BigDecimal? = null

    @ExcelProperty(index = 27, value = ["Exposure（行业划分）Exposure_Others (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureOthersL: BigDecimal? = null

    @ExcelProperty(index = 28, value = ["Exposure（行业划分）Exposure_Consumer Staples (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureConsumerStaplesS: BigDecimal? = null

    @ExcelProperty(index = 29, value = ["Exposure（行业划分）Exposure_Consumer Discretionary (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureConsumerDiscretionaryS: BigDecimal? = null

    @ExcelProperty(index = 30, value = ["Exposure（行业划分）Exposure_Information Technology  (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureInformationTechnologyS: BigDecimal? = null

    @ExcelProperty(index = 31, value = ["Exposure（行业划分）Exposure_Financials (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureFinancialsS: BigDecimal? = null

    @ExcelProperty(index = 32, value = ["Exposure（行业划分）Exposure_Health Care (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureHealthCareS: BigDecimal? = null

    @ExcelProperty(index = 33, value = ["Exposure（行业划分）Exposure_Industrials (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureIndustrialsS: BigDecimal? = null

    @ExcelProperty(index = 34, value = ["Exposure（行业划分）Exposure_Utilities (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureUtilitiesS: BigDecimal? = null

    @ExcelProperty(index = 35, value = ["Exposure（行业划分）Exposure_Materials (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureMaterialsS: BigDecimal? = null

    @ExcelProperty(index = 36, value = ["Exposure（行业划分）Exposure_Real Estate (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureRealEstateS: BigDecimal? = null

    @ExcelProperty(index = 37, value = ["Exposure（行业划分）Exposure_Energy (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureEnergyS: BigDecimal? = null

    @ExcelProperty(index = 38, value = ["Exposure（行业划分）Exposure_Communication Service (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCommunicationServiceS: BigDecimal? = null

    @ExcelProperty(index = 39, value = ["Exposure（行业划分）Exposure_Index/ ETF (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureIndexETFS: BigDecimal? = null

    @ExcelProperty(index = 40, value = ["Exposure（行业划分）Exposure_Cash (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCashS: BigDecimal? = null

    @ExcelProperty(index = 41, value = ["Exposure（行业划分）Exposure_Others (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureOthersS: BigDecimal? = null

    @ExcelProperty(index = 42, value = ["Exposure （市值划分）Exposure_>10bn (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureBigger10bnL: BigDecimal? = null

    @ExcelProperty(index = 43, value = ["Exposure （市值划分）Exposure_5-10bn (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposure5To10bnL: BigDecimal? = null

    @ExcelProperty(index = 44, value = ["Exposure （市值划分）Exposure_1-5bn (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposure1To5bnL: BigDecimal? = null

    @ExcelProperty(index = 45, value = ["Exposure （市值划分）Exposure_0.3-1bn (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureZeroPointThreeToOnebnL: BigDecimal? = null

    @ExcelProperty(index = 46, value = ["Exposure （市值划分）Exposure_<0.3bn (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureLitterZeroPointThreebnL: BigDecimal? = null

    @ExcelProperty(index = 47, value = ["Exposure （市值划分）Exposure_>10bn (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureBigger10bnS: BigDecimal? = null

    @ExcelProperty(index = 48, value = ["Exposure （市值划分）Exposure_5-10bn (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposure5To10bnS: BigDecimal? = null

    @ExcelProperty(index = 49, value = ["Exposure （市值划分）Exposure_1-5bn (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposure1To5bnS: BigDecimal? = null

    @ExcelProperty(index = 50, value = ["Exposure （市值划分）Exposure_<0.3-1bn (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureZeroPointThreeToOnebnS: BigDecimal? = null

    @ExcelProperty(index = 51, value = ["Exposure （市值划分）Exposure_<0.3 (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureLitterZeroPointThreebnS: BigDecimal? = null

    @ExcelProperty(index = 52, value = ["Exposure （Asset Class划分）Exposure_Equities (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureEquitiesL: BigDecimal? = null

    @ExcelProperty(index = 53, value = ["Exposure （Asset Class划分）Exposure_Fixed Income (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureFixedIncomeL: BigDecimal? = null

    @ExcelProperty(index = 54, value = ["Exposure （Asset Class划分）Exposure_Currencies & FX (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCurrenciesFXL: BigDecimal? = null

    @ExcelProperty(index = 55, value = ["Exposure （Asset Class划分）Exposure_Commodities (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCommoditiesL: BigDecimal? = null

    @ExcelProperty(index = 56, value = ["Exposure （Asset Class划分）Exposure_Real Estate-Asset Class (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureRealEstateAssetClassL: BigDecimal? = null

    @ExcelProperty(index = 57, value = ["Exposure （Asset Class划分）Exposure_Others-Asset Class (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureOthersAssetClassL: BigDecimal? = null

    @ExcelProperty(index = 58, value = ["Exposure （Asset Class划分）Exposure_Alternative Investments (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureAlternativeInvestmentsL: BigDecimal? = null

    @ExcelProperty(index = 59, value = ["Exposure （Asset Class划分）Exposure_Equities (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureEquitiesS: BigDecimal? = null

    @ExcelProperty(index = 60, value = ["Exposure （Asset Class划分）Exposure_Fixed Income (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureFixedIncomeS: BigDecimal? = null

    @ExcelProperty(index = 61, value = ["Exposure （Asset Class划分）Exposure_Currencies & FX (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCurrenciesFXS: BigDecimal? = null

    @ExcelProperty(index = 62, value = ["Exposure （Asset Class划分）Exposure_Commodities (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCommoditiesS: BigDecimal? = null

    @ExcelProperty(index = 63, value = ["Exposure （Asset Class划分）Exposure_Real Estate-Asset Class (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureRealEstateAssetClassS: BigDecimal? = null

    @ExcelProperty(index = 64, value = ["Exposure （Asset Class划分）Exposure_Others-Asset Class (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureOtherAssetClassS: BigDecimal? = null

    @ExcelProperty(index = 65, value = ["Exposure （Asset Class划分）Exposure_Alternative Investments (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureAlternativeInvestmentsS: BigDecimal? = null

    @ExcelProperty(index = 66, value = ["Exposure （Investment tool划分）Exposure_Cash/Spot (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCashSpotL: BigDecimal? = null

    @ExcelProperty(index = 67, value = ["Exposure （Investment tool划分）Exposure_Futures (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureFuturesL: BigDecimal? = null

    @ExcelProperty(index = 68, value = ["Exposure （Investment tool划分）Exposure_Options (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureOptionsL: BigDecimal? = null

    @ExcelProperty(index = 69, value = ["Exposure （Investment tool划分）Exposure_Swaps(L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSwapsL: BigDecimal? = null

    @ExcelProperty(index = 70, value = ["Exposure （Investment tool划分）Exposure_ETFs/ETPs (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureETFsETPsL: BigDecimal? = null

    @ExcelProperty(index = 71, value = ["Exposure （Investment tool划分）Exposure_Others-Tool (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureOthersToolL: BigDecimal? = null

    @ExcelProperty(index = 72, value = ["Exposure （Investment tool划分）Exposure_Cash/Spot (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCashSpotS: BigDecimal? = null

    @ExcelProperty(index = 73, value = ["Exposure （Investment tool划分）Exposure_Futures (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureFuturesS: BigDecimal? = null

    @ExcelProperty(index = 74, value = ["Exposure （Investment tool划分）Exposure_Options (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureOptionsS: BigDecimal? = null

    @ExcelProperty(index = 75, value = ["Exposure （Investment tool划分）Exposure_Swaps (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSwapsS: BigDecimal? = null

    @ExcelProperty(index = 76, value = ["Exposure （Investment tool划分）Exposure_Swaps (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureETFsETPsS: BigDecimal? = null

    @ExcelProperty(index = 77, value = ["Exposure （Investment tool划分）Exposure_Others-Tool (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureOthersToolS: BigDecimal? = null

    @ExcelProperty(index = 78, value = ["Exposure （地区划分）Exposure_US (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureUSL: BigDecimal? = null

    @ExcelProperty(index = 79, value = ["Exposure （地区划分）Exposure_Canada (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCanadaL: BigDecimal? = null

    @ExcelProperty(index = 80, value = ["Exposure （地区划分）Exposure_Brazil (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureBrazilL: BigDecimal? = null

    @ExcelProperty(index = 81, value = ["Exposure （地区划分）Exposure_Mexico (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureMexicoL: BigDecimal? = null

    @ExcelProperty(index = 82, value = ["Exposure （地区划分）Exposure_Argentina (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureArgentinaL: BigDecimal? = null

    @ExcelProperty(index = 83, value = ["Exposure （地区划分）Exposure_Chile (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureChileL: BigDecimal? = null

    @ExcelProperty(index = 84, value = ["Exposure （地区划分）Exposure_Colombia (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureColombiaL: BigDecimal? = null

    @ExcelProperty(index = 85, value = ["Exposure （地区划分）Exposure_Peru (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposurePeruL: BigDecimal? = null

    @ExcelProperty(index = 86, value = ["Exposure （地区划分）Exposure_US (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureUSS: BigDecimal? = null

    @ExcelProperty(index = 87, value = ["Exposure （地区划分）Exposure_Canada (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureCanadaS: BigDecimal? = null

    @ExcelProperty(index = 88, value = ["Exposure （地区划分）Exposure_Brazil (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureBrazilS: BigDecimal? = null

    @ExcelProperty(index = 89, value = ["Exposure （地区划分）Exposure_Mexico (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureMexicoS: BigDecimal? = null

    @ExcelProperty(index = 90, value = ["Exposure （地区划分）Exposure_Argentina (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureArgentinaS: BigDecimal? = null

    @ExcelProperty(index = 91, value = ["Exposure （地区划分）Exposure_Chile (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureChileS: BigDecimal? = null

    @ExcelProperty(index = 92, value = ["Exposure （地区划分）Exposure_Colombia (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureColombiaS: BigDecimal? = null

    @ExcelProperty(index = 93, value = ["Exposure （地区划分）Exposure_Peru (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposurePeruS: BigDecimal? = null

    @ExcelProperty(index = 94, value = ["Exposure （地区划分）Exposure_UK (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureUKL: BigDecimal? = null

    @ExcelProperty(index = 95, value = ["Exposure （地区划分）Exposure_Germany (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureGermanyL: BigDecimal? = null

    @ExcelProperty(index = 96, value = ["Exposure （地区划分）Exposure_France (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureFranceL: BigDecimal? = null

    @ExcelProperty(index = 97, value = ["Exposure （地区划分）Exposure_Switzerland (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSwitzerlandL: BigDecimal? = null

    @ExcelProperty(index = 98, value = ["Exposure （地区划分）Exposure_Netherlands (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureNetherlandsL: BigDecimal? = null

    @ExcelProperty(index = 99, value = ["Exposure （地区划分）Exposure_Italy (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureItalyL: BigDecimal? = null

    @ExcelProperty(index = 100, value = ["Exposure （地区划分）Exposure_Spain (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSpainL: BigDecimal? = null

    @ExcelProperty(index = 101, value = ["Exposure （地区划分）Exposure_Sweden (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSwedenL: BigDecimal? = null

    @ExcelProperty(index = 102, value = ["Exposure （地区划分）Exposure_UK (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureUKS: BigDecimal? = null

    @ExcelProperty(index = 103, value = ["Exposure （地区划分）Exposure_Germany (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureGermanyS: BigDecimal? = null

    @ExcelProperty(index = 104, value = ["Exposure （地区划分）Exposure_France (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureFranceS: BigDecimal? = null

    @ExcelProperty(index = 105, value = ["Exposure （地区划分）Exposure_Switzerland (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSwitzerlandS: BigDecimal? = null

    @ExcelProperty(index = 106, value = ["Exposure （地区划分）Exposure_Netherlands (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureNetherlandsS: BigDecimal? = null

    @ExcelProperty(index = 107, value = ["Exposure （地区划分）Exposure_Italy (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureItalyS: BigDecimal? = null

    @ExcelProperty(index = 108, value = ["Exposure （地区划分）Exposure_Spain (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSpainS: BigDecimal? = null

    @ExcelProperty(index = 109, value = ["Exposure （地区划分）Exposure_Sweden (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSwedenS: BigDecimal? = null

    @ExcelProperty(index = 110, value = ["Exposure （地区划分）Exposure_Saudi Arabia (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSaudiArabiaL: BigDecimal? = null

    @ExcelProperty(index = 111, value = ["Exposure （地区划分）Exposure_United Arab Emirates (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureUnitedArabEmiratesL: BigDecimal? = null

    @ExcelProperty(index = 112, value = ["Exposure （地区划分）Exposure_South Africa (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSouthAfricaL: BigDecimal? = null

    @ExcelProperty(index = 113, value = ["Exposure （地区划分）Exposure_Nigeria (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureNigeriaL: BigDecimal? = null

    @ExcelProperty(index = 114, value = ["Exposure （地区划分）Exposure_Egypt (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureEgyptL: BigDecimal? = null

    @ExcelProperty(index = 115, value = ["Exposure （地区划分）Exposure_Saudi Arabia (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSaudiArabiaS: BigDecimal? = null

    @ExcelProperty(index = 116, value = ["Exposure （地区划分）Exposure_United Arab Emirates (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureUnitedArabEmiratesS: BigDecimal? = null

    @ExcelProperty(index = 117, value = ["Exposure （地区划分）Exposure_South Africa (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSouthAfricaS: BigDecimal? = null

    @ExcelProperty(index = 118, value = ["Exposure （地区划分）Exposure_Nigeria (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureNigeriaS: BigDecimal? = null

    @ExcelProperty(index = 119, value = ["Exposure （地区划分）Exposure_Egypt (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureEgyptS: BigDecimal? = null

    @ExcelProperty(index = 120, value = ["Exposure （地区划分）Exposure_Japan (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureJapanL: BigDecimal? = null

    @ExcelProperty(index = 121, value = ["Exposure （地区划分）Exposure_China (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureChinaL: BigDecimal? = null

    @ExcelProperty(index = 122, value = ["Exposure （地区划分）Exposure_Hong Kong (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureHongKongL: BigDecimal? = null

    @ExcelProperty(index = 123, value = ["Exposure （地区划分）Exposure_Taiwan (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureTaiwanL: BigDecimal? = null

    @ExcelProperty(index = 124, value = ["Exposure （地区划分）Exposure_Australia (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureAustraliaL: BigDecimal? = null

    @ExcelProperty(index = 125, value = ["Exposure （地区划分）Exposure_India (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureIndiaL: BigDecimal? = null

    @ExcelProperty(index = 126, value = ["Exposure （地区划分）Exposure_South Korea (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSouthKoreaL: BigDecimal? = null

    @ExcelProperty(index = 127, value = ["Exposure （地区划分）Exposure_Singapore (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSingaporeL: BigDecimal? = null

    @ExcelProperty(index = 128, value = ["Exposure （地区划分）Exposure_Indonesia (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureIndonesiaL: BigDecimal? = null

    @ExcelProperty(index = 129, value = ["Exposure （地区划分）Exposure_Malaysia (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureMalaysiaL: BigDecimal? = null

    @ExcelProperty(index = 130, value = ["Exposure （地区划分）Exposure_Thailand (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureThailandL: BigDecimal? = null

    @ExcelProperty(index = 131, value = ["Exposure （地区划分）Exposure_Philippines (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposurePhilippinesL: BigDecimal? = null

    @ExcelProperty(index = 132, value = ["Exposure （地区划分）Exposure_Vietnam (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureVietnamL: BigDecimal? = null

    @ExcelProperty(index = 133, value = ["Exposure （地区划分）Exposure_New Zealand (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureNewZealandL: BigDecimal? = null

    @ExcelProperty(index = 134, value = ["Exposure （地区划分）Exposure_Japan (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureJapanS: BigDecimal? = null

    @ExcelProperty(index = 135, value = ["Exposure （地区划分）Exposure_China (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureChinaS: BigDecimal? = null

    @ExcelProperty(index = 136, value = ["Exposure （地区划分）Exposure_Hong Kong (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureHongKongS: BigDecimal? = null

    @ExcelProperty(index = 137, value = ["Exposure （地区划分）Exposure_Taiwan (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureTaiwanS: BigDecimal? = null

    @ExcelProperty(index = 138, value = ["Exposure （地区划分）Exposure_Australia (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureAustraliaS: BigDecimal? = null

    @ExcelProperty(index = 139, value = ["Exposure （地区划分）Exposure_India (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureIndiaS: BigDecimal? = null

    @ExcelProperty(index = 140, value = ["Exposure （地区划分）Exposure_South Korea (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSouthKoreaS: BigDecimal? = null

    @ExcelProperty(index = 141, value = ["Exposure （地区划分）Exposure_Singapore (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureSingaporeS: BigDecimal? = null

    @ExcelProperty(index = 142, value = ["Exposure （地区划分）Exposure_Indonesia (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureIndonesiaS: BigDecimal? = null

    @ExcelProperty(index = 143, value = ["Exposure （地区划分）Exposure_Malaysia (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureMalaysiaS: BigDecimal? = null

    @ExcelProperty(index = 144, value = ["Exposure （地区划分）Exposure_Thailand (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureThailandS: BigDecimal? = null

    @ExcelProperty(index = 145, value = ["Exposure （地区划分）Exposure_Philippines (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposurePhilippinesS: BigDecimal? = null

    @ExcelProperty(index = 146, value = ["Exposure （地区划分）Exposure_Vietnam (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureVietnamS: BigDecimal? = null

    @ExcelProperty(index = 147, value = ["Exposure （地区划分）Exposure_New Zealand (S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureNewZealandS: BigDecimal? = null

    @ExcelProperty(index = 148, value = ["Exposure （地区划分）Exposure_others-country （L）"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureOthersCountryL: BigDecimal? = null

    @ExcelProperty(index = 149, value = ["Exposure （地区划分）Exposure_others-country （S)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureOthersCountryS: BigDecimal? = null

    @ExcelProperty(index = 150, value = ["# of long"])
    @Column(columnDefinition = "decimal(10,4)")
    open var ofLong: BigDecimal? = null

    @ExcelProperty(index = 151, value = ["# of short"])
    @Column(columnDefinition = "decimal(10,4)")
    open var ofShort: BigDecimal? = null

    // 注意：以下字段为String类型，不添加@Column注解
    @ExcelProperty(index = 152, value = ["Top 1 Long positionNames"])
    open var top1LongPositionName: String? = null

    @ExcelProperty(index = 153, value = ["Top 1 Long positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top1LongPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 154, value = ["Top 2 Long positionNames"])
    open var top2LongPositionName: String? = null

    @ExcelProperty(index = 155, value = ["Top 2 Long positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top2LongPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 156, value = ["Top 3 Long positionNames"])
    open var top3LongPositionName: String? = null

    @ExcelProperty(index = 157, value = ["Top 3 Long positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top3LongPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 158, value = ["Top 4 Long positionNames"])
    open var top4LongPositionName: String? = null

    @ExcelProperty(index = 159, value = ["Top 4 Long positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top4LongPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 160, value = ["Top 5 Long positionNames"])
    open var top5LongPositionName: String? = null

    @ExcelProperty(index = 161, value = ["Top 5 Long positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top5LongPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 162, value = ["Top 6 Long positionNames"])
    open var top6LongPositionName: String? = null

    @ExcelProperty(index = 163, value = ["Top 6 Long positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top6LongPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 164, value = ["Top 7 Long positionNames"])
    open var top7LongPositionName: String? = null

    @ExcelProperty(index = 165, value = ["Top 7 Long positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top7LongPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 166, value = ["Top 8 Long positionNames"])
    open var top8LongPositionName: String? = null

    @ExcelProperty(index = 167, value = ["Top 8 Long positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top8LongPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 168, value = ["Top 9 Long positionNames"])
    open var top9LongPositionName: String? = null

    @ExcelProperty(index = 169, value = ["Top 9 Long positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top9LongPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 170, value = ["Top 10 Long positionNames"])
    open var top10LongPositionName: String? = null

    @ExcelProperty(index = 171, value = ["Top 10 Long positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top10LongPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 172, value = ["Top 1 Short positionNames"])
    open var top1ShortPositionName: String? = null

    @ExcelProperty(index = 173, value = ["Top 1 Short positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top1ShortPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 174, value = ["Top 2 Short positionNames"])
    open var top2ShortPositionName: String? = null

    @ExcelProperty(index = 175, value = ["Top 2 Short positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top2ShortPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 176, value = ["Top 3 Short positionNames"])
    open var top3ShortPositionName: String? = null

    @ExcelProperty(index = 177, value = ["Top 3 Short positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top3ShortPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 178, value = ["Top 4 Short positionNames"])
    open var top4ShortPositionName: String? = null

    @ExcelProperty(index = 179, value = ["Top 4 Short positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top4ShortPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 180, value = ["Top 5 Short positionNames"])
    open var top5ShortPositionName: String? = null

    @ExcelProperty(index = 181, value = ["Top 5 Short positionExposure"])
    open var top5ShortPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 182, value = ["Top 6 Short positionNames"])
    open var top6ShortPositionName: String? = null

    @ExcelProperty(index = 183, value = ["Top 6 Short positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top6ShortPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 184, value = ["Top 7 Short positionNames"])
    open var top7ShortPositionName: String? = null

    @ExcelProperty(index = 185, value = ["Top 7 Short positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top7ShortPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 186, value = ["Top 8 Short positionNames"])
    open var top8ShortPositionName: String? = null

    @ExcelProperty(index = 187, value = ["Top 8 Short positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top8ShortPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 188, value = ["Top 9 Short positionNames"])
    open var top9ShortPositionName: String? = null

    @ExcelProperty(index = 189, value = ["Top 9 Short positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top9ShortPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 190, value = ["Top 10 Short positionNames"])
    open var top10ShortPositionName: String? = null

    @ExcelProperty(index = 191, value = ["Top 10 Short positionExposure"])
    @Column(columnDefinition = "decimal(10,4)")
    open var top10ShortPositionExposure: BigDecimal? = null

    @ExcelProperty(index = 192, value = ["Exposure_Top 5 Longs"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureTop5Longs: java.math.BigDecimal? = null

    @ExcelProperty(index = 193, value = ["Exposure_Top 5 Shorts"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureTop5Shorts: BigDecimal? = null

    @ExcelProperty(index = 194, value = ["Exposure_Top 10 Longs"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureTop10Longs: BigDecimal? = null

    @ExcelProperty(index = 195, value = ["Exposure_Top 10 Shorts"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureTop10Shorts: BigDecimal? = null

    @ExcelProperty(index = 196, value = ["Exposure_Long Limit"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureLongLimit: BigDecimal? = null

    @ExcelProperty(index = 197, value = ["Exposure_Short Limit"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureShortLimit: BigDecimal? = null

    @ExcelProperty(index = 198, value = ["Exposure_Top 5 Long Limit"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureTop5LongLimit: BigDecimal? = null

    @ExcelProperty(index = 199, value = ["Exposure_Top 5 Short Limit"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureTop5ShortLimit: BigDecimal? = null

    @ExcelProperty(index = 200, value = ["Exposure_Top 10 Long Limit"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureTop10LongLimit: BigDecimal? = null

    @ExcelProperty(index = 201, value = ["Exposure_Top 10 Short Limit"])
    @Column(columnDefinition = "decimal(10,4)")
    open var exposureTop10ShortLimit: BigDecimal? = null

    @ExcelProperty(index = 202, value = ["Performance_Long"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceLong: BigDecimal? = null

    @ExcelProperty(index = 203, value = ["Performance_Short"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceShort: BigDecimal? = null

    @ExcelProperty(index = 204, value = ["Performance （行业划分）Performance_Consumer Staples"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceConsumerStaples: BigDecimal? = null

    @ExcelProperty(index = 205, value = ["Performance （行业划分）Performance_Consumer Discretionary"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceConsumerDiscretionary: BigDecimal? = null

    @ExcelProperty(index = 206, value = ["Performance （行业划分）Performance_Information Technology"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceInformationTechnology: BigDecimal? = null

    @ExcelProperty(index = 207, value = ["Performance （行业划分）Performance_Financials"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceFinancials: BigDecimal? = null

    @ExcelProperty(index = 208, value = ["Performance （行业划分）Performance_Health Care"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceHealthCare: BigDecimal? = null

    @ExcelProperty(index = 209, value = ["Performance （行业划分）Performance_Industrials"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceIndustrials: BigDecimal? = null

    @ExcelProperty(index = 210, value = ["Performance （行业划分）Performance_Utilities"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceUtilities: BigDecimal? = null

    @ExcelProperty(index = 211, value = ["Performance （行业划分）Performance_Materials"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceMaterials: BigDecimal? = null

    @ExcelProperty(index = 212, value = ["Performance （行业划分）Performance_Real Estate"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceRealEstate: BigDecimal? = null

    @ExcelProperty(index = 213, value = ["Performance （行业划分）Performance_Communication Sevices"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceCommunicationSevices: BigDecimal? = null

    @ExcelProperty(index = 214, value = ["Performance （行业划分）Performance_Energy"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceEnergy: BigDecimal? = null

    @ExcelProperty(index = 215, value = ["Performance （行业划分）Performance_Index/ ETF"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceIndexETF: BigDecimal? = null

    @ExcelProperty(index = 216, value = ["Performance （行业划分）Performance_Others"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceOthers: BigDecimal? = null

    @ExcelProperty(index = 217, value = ["Performance （行业划分）Performance_Cash"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceCash: BigDecimal? = null

    @ExcelProperty(index = 218, value = ["Performance （市值划分）Performance_>10bn"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceBigger10bn: BigDecimal? = null

    @ExcelProperty(index = 219, value = ["Performance （市值划分）Performance_5-10bn"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performance5To10bn: BigDecimal? = null

    @ExcelProperty(index = 220, value = ["Performance （市值划分）Performance_1-5bn"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performance1To5bn: BigDecimal? = null

    @ExcelProperty(index = 221, value = ["Performance （市值划分）Performance_0.3-1bn"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceZeroPointThreeToOnebn: BigDecimal? = null

    @ExcelProperty(index = 222, value = ["Performance （市值划分）Performance_<0.3bn"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceLitterZeroPointThreebn: BigDecimal? = null

    @ExcelProperty(index = 223, value = ["Performance （Asset Class划分）Performance_Equities"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceEquities: BigDecimal? = null

    @ExcelProperty(index = 224, value = ["Performance （Asset Class划分）Performance_Fixed Income"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceFixedIncome: BigDecimal? = null

    @ExcelProperty(index = 225, value = ["Performance （Asset Class划分）Performance_Currencies & FX"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceCurrenciesFX: BigDecimal? = null

    @ExcelProperty(index = 226, value = ["Performance （Asset Class划分）Performance_Commodities"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceCommodities: BigDecimal? = null

    @ExcelProperty(index = 227, value = ["Performance （Asset Class划分）Performance_Real Estate-Asset Class"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceRealEstateAssetClass: BigDecimal? = null

    @ExcelProperty(index = 228, value = ["Performance （Asset Class划分）Performance_Alternative Investments"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceAlternativeInvestments: BigDecimal? = null

    @ExcelProperty(index = 229, value = ["Performance （Asset Class划分）Performance_Others-Asset Class"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceOthersAssetClass: BigDecimal? = null

    @ExcelProperty(index = 230, value = ["Performance （Investment tool划分）Performance_Cash/Spot"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceCashSpot: BigDecimal? = null

    @ExcelProperty(index = 231, value = ["Performance （Investment tool划分）Performance_Futures"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceFutures: BigDecimal? = null

    @ExcelProperty(index = 232, value = ["Performance （Investment tool划分）Performance_Options"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceOptions: BigDecimal? = null

    @ExcelProperty(index = 233, value = ["Performance （Investment tool划分）Performance_Swaps"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceSwaps: BigDecimal? = null

    @ExcelProperty(index = 234, value = ["Performance （Investment tool划分）Performance_ETFs/ETPs"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceETFsETPs: BigDecimal? = null

    @ExcelProperty(index = 235, value = ["Performance （Investment tool划分）Performance_Others-Tool (L)"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceOthersTool: BigDecimal? = null

    @ExcelProperty(index = 236, value = ["Performance （地区划分）Performance_US"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceUS: BigDecimal? = null

    @ExcelProperty(index = 237, value = ["Performance （地区划分）Performance_Canada"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceCanada: BigDecimal? = null

    @ExcelProperty(index = 238, value = ["Performance （地区划分）Performance_Brazil"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceBrazil: BigDecimal? = null

    @ExcelProperty(index = 239, value = ["Performance （地区划分）Performance_Mexico"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceMexico: BigDecimal? = null

    @ExcelProperty(index = 240, value = ["Performance （地区划分）Performance_Argentina"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceArgentina: BigDecimal? = null

    @ExcelProperty(index = 241, value = ["Performance （地区划分）Performance_Chile"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceChile: BigDecimal? = null

    @ExcelProperty(index = 242, value = ["Performance （地区划分）Performance_Colombia"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceColombia: BigDecimal? = null

    @ExcelProperty(index = 243, value = ["Performance （地区划分）Performance_Peru"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performancePeru: BigDecimal? = null

    @ExcelProperty(index = 244, value = ["Performance （地区划分）Performance_UK"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceUK: BigDecimal? = null

    @ExcelProperty(index = 245, value = ["Performance （地区划分）Performance_Germany"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceGermany: BigDecimal? = null

    @ExcelProperty(index = 246, value = ["Performance （地区划分）Performance_France"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceFrance: BigDecimal? = null

    @ExcelProperty(index = 247, value = ["Performance （地区划分）Performance_Switzerland"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceSwitzerland: BigDecimal? = null

    @ExcelProperty(index = 248, value = ["Performance （地区划分）Performance_Netherlands"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceNetherlands: BigDecimal? = null

    @ExcelProperty(index = 249, value = ["Performance （地区划分）Performance_Italy"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceItaly: BigDecimal? = null

    @ExcelProperty(index = 250, value = ["Performance （地区划分）Performance_Spain"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceSpain: BigDecimal? = null

    @ExcelProperty(index = 251, value = ["Performance （地区划分）Performance_Sweden"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceSweden: BigDecimal? = null

    @ExcelProperty(index = 252, value = ["Performance （地区划分）Performance_Saudi Arabia"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceSaudiArabia: BigDecimal? = null

    @ExcelProperty(index = 253, value = ["Performance （地区划分）Performance_United Arab Emirates"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceUnitedArabEmirates: BigDecimal? = null

    @ExcelProperty(index = 254, value = ["Performance （地区划分）Performance_South Africa"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceSouthAfrica: BigDecimal? = null

    @ExcelProperty(index = 255, value = ["Performance （地区划分）Performance_Nigeria"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceNigeria: BigDecimal? = null

    @ExcelProperty(index = 256, value = ["Performance （地区划分）Performance_Egypt"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceEgypt: BigDecimal? = null

    @ExcelProperty(index = 257, value = ["Performance （地区划分）Performance_Japan"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceJapan: BigDecimal? = null

    @ExcelProperty(index = 258, value = ["Performance （地区划分）Performance_China"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceChina: BigDecimal? = null

    @ExcelProperty(index = 259, value = ["Performance （地区划分）Performance_Hong Kong"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceHongKong: BigDecimal? = null

    @ExcelProperty(index = 260, value = ["Performance （地区划分）Performance_Taiwan"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceTaiwan: BigDecimal? = null

    @ExcelProperty(index = 261, value = ["Performance （地区划分）Performance_Australia"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceAustralia: BigDecimal? = null

    @ExcelProperty(index = 262, value = ["Performance （地区划分）Performance_India"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceIndia: BigDecimal? = null

    @ExcelProperty(index = 263, value = ["Performance （地区划分）Performance_South Korea"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceSouthKorea: BigDecimal? = null

    @ExcelProperty(index = 264, value = ["Performance （地区划分）Performance_Singapore"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceSingapore: BigDecimal? = null

    @ExcelProperty(index = 265, value = ["Performance （地区划分）Performance_Indonesia"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceIndonesia: BigDecimal? = null

    @ExcelProperty(index = 266, value = ["Performance （地区划分）Performance_Malaysia"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceMalaysia: BigDecimal? = null

    @ExcelProperty(index = 267, value = ["Performance （地区划分）Performance_Thailand"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceThailand: BigDecimal? = null

    @ExcelProperty(index = 268, value = ["Performance （地区划分）Performance_Philippines"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performancePhilippines: BigDecimal? = null

    @ExcelProperty(index = 269, value = ["Performance （地区划分）Performance_Vietnam"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceVietnam: BigDecimal? = null

    @ExcelProperty(index = 270, value = ["Performance （地区划分）Performance_New Zealand"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceNewZealand: BigDecimal? = null

    @ExcelProperty(index = 271, value = ["Performance （地区划分）Performance_others-country"])
    @Column(columnDefinition = "decimal(10,4)")
    open var performanceOtherCountry: BigDecimal? = null

    @ExcelProperty(index = 272, value = ["Monthly Winner 1Name"])
    open var monthlyWinner1Name: String? = null

    @ExcelProperty(index = 273, value = ["Monthly Winner 1Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyWinner1Return: BigDecimal? = null

    @ExcelProperty(index = 274, value = ["Monthly Winner 2Name"])
    open var monthlyWinner2Name: String? = null

    @ExcelProperty(index = 275, value = ["Monthly Winner 2Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyWinner2Return: BigDecimal? = null

    @ExcelProperty(index = 276, value = ["Monthly Winner 3Name"])
    open var monthlyWinner3Name: String? = null

    @ExcelProperty(index = 277, value = ["Monthly Winner 3Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyWinner3Return: BigDecimal? = null

    @ExcelProperty(index = 278, value = ["Monthly Winner 4Name"])
    open var monthlyWinner4Name: String? = null

    @ExcelProperty(index = 279, value = ["Monthly Winner 4Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyWinner4Return: BigDecimal? = null

    @ExcelProperty(index = 280, value = ["Monthly Winner 5Name"])
    open var monthlyWinner5Name: String? = null

    @ExcelProperty(index = 281, value = ["Monthly Winner 5Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyWinner5Return: BigDecimal? = null

    @ExcelProperty(index = 282, value = ["Monthly Winner 6Name"])
    open var monthlyWinner6Name: String? = null

    @ExcelProperty(index = 283, value = ["Monthly Winner 6Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyWinner6Return: BigDecimal? = null

    @ExcelProperty(index = 284, value = ["Monthly Winner 7Name"])
    open var monthlyWinner7Name: String? = null

    @ExcelProperty(index = 285, value = ["Monthly Winner 7Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyWinner7Return: BigDecimal? = null

    @ExcelProperty(index = 286, value = ["Monthly Winner 8Name"])
    open var monthlyWinner8Name: String? = null

    @ExcelProperty(index = 287, value = ["Monthly Winner 8Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyWinner8Return: BigDecimal? = null

    @ExcelProperty(index = 288, value = ["Monthly Winner 9Name"])
    open var monthlyWinner9Name: String? = null

    @ExcelProperty(index = 289, value = ["Monthly Winner 9Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyWinner9Return: BigDecimal? = null

    @ExcelProperty(index = 290, value = ["Monthly Winner 10Name"])
    open var monthlyWinner10Name: String? = null

    @ExcelProperty(index = 291, value = ["Monthly Winner 10Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyWinner10Return: BigDecimal? = null

    @ExcelProperty(index = 292, value = ["Monthly Loser 1Name"])
    open var monthlyLoser1Name: String? = null

    @ExcelProperty(index = 293, value = ["Monthly Loser 1Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyLoser1Return: BigDecimal? = null

    @ExcelProperty(index = 294, value = ["Monthly Loser 2Name"])
    open var monthlyLoser2Name: String? = null

    @ExcelProperty(index = 295, value = ["Monthly Loser 2Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyLoser2Return: BigDecimal? = null

    @ExcelProperty(index = 296, value = ["Monthly Loser 3Name"])
    open var monthlyLoser3Name: String? = null

    @ExcelProperty(index = 297, value = ["Monthly Loser 3Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyLoser3Return: BigDecimal? = null

    @ExcelProperty(index = 298, value = ["Monthly Loser 4Name"])
    open var monthlyLoser4Name: String? = null

    @ExcelProperty(index = 299, value = ["Monthly Loser 4Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyLoser4Return: BigDecimal? = null

    @ExcelProperty(index = 300, value = ["Monthly Loser 5Name"])
    open var monthlyLoser5Name: String? = null

    @ExcelProperty(index = 301, value = ["Monthly Loser 5Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyLoser5Return: BigDecimal? = null

    @ExcelProperty(index = 302, value = ["Monthly Loser 6Name"])
    open var monthlyLoser6Name: String? = null

    @ExcelProperty(index = 303, value = ["Monthly Loser 6Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyLoser6Return: BigDecimal? = null

    @ExcelProperty(index = 304, value = ["Monthly Loser 7Name"])
    open var monthlyLoser7Name: String? = null

    @ExcelProperty(index = 305, value = ["Monthly Loser 7Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyLoser7Return: BigDecimal? = null

    @ExcelProperty(index = 306, value = ["Monthly Loser 8Name"])
    open var monthlyLoser8Name: String? = null

    @ExcelProperty(index = 307, value = ["Monthly Loser 8Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyLoser8Return: BigDecimal? = null

    @ExcelProperty(index = 308, value = ["Monthly Loser 9Name"])
    open var monthlyLoser9Name: String? = null

    @ExcelProperty(index = 309, value = ["Monthly Loser 9Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyLoser9Return: BigDecimal? = null

    @ExcelProperty(index = 310, value = ["Monthly Loser 10Name"])
    open var monthlyLoser10Name: String? = null

    @ExcelProperty(index = 311, value = ["Monthly Loser 10Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var monthlyLoser10Return: BigDecimal? = null


    @ExcelProperty(index = 312, value = ["Annual Winner 1Name"])
    open var annualWinner1Name: String? = null

    @ExcelProperty(index = 313, value = ["Annual Winner 1Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualWinner1Return: BigDecimal? = null

    @ExcelProperty(index = 314, value = ["Annual Winner 2Name"])
    open var annualWinner2Name: String? = null

    @ExcelProperty(index = 315, value = ["Annual Winner 2Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualWinner2Return: BigDecimal? = null

    @ExcelProperty(index = 316, value = ["Annual Winner 3Name"])
    open var annualWinner3Name: String? = null

    @ExcelProperty(index = 317, value = ["Annual Winner 3Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualWinner3Return: BigDecimal? = null

    @ExcelProperty(index = 318, value = ["Annual Winner 4Name"])
    open var annualWinner4Name: String? = null

    @ExcelProperty(index = 319, value = ["Annual Winner 4Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualWinner4Return: BigDecimal? = null

    @ExcelProperty(index = 320, value = ["Annual Winner 5Name"])
    open var annualWinner5Name: String? = null

    @ExcelProperty(index = 321, value = ["Annual Winner 5Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualWinner5Return: BigDecimal? = null

    @ExcelProperty(index = 322, value = ["Annual Winner 6Name"])
    open var annualWinner6Name: String? = null

    @ExcelProperty(index = 323, value = ["Annual Winner 6Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualWinner6Return: BigDecimal? = null

    @ExcelProperty(index = 324, value = ["Annual Winner 7Name"])
    open var annualWinner7Name: String? = null

    @ExcelProperty(index = 325, value = ["Annual Winner 7Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualWinner7Return: BigDecimal? = null

    @ExcelProperty(index = 326, value = ["Annual Winner 8Name"])
    open var annualWinner8Name: String? = null

    @ExcelProperty(index = 327, value = ["Annual Winner 8Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualWinner8Return: BigDecimal? = null

    @ExcelProperty(index = 328, value = ["Annual Winner 9Name"])
    open var annualWinner9Name: String? = null

    @ExcelProperty(index = 329, value = ["Annual Winner 9Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualWinner9Return: BigDecimal? = null

    @ExcelProperty(index = 330, value = ["Annual Winner 10Name"])
    open var annualWinner10Name: String? = null

    @ExcelProperty(index = 331, value = ["Annual Winner 10Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualWinner10Return: BigDecimal? = null

    @ExcelProperty(index = 332, value = ["Annual Loser 1Name"])
    open var annualLoser1Name: String? = null

    @ExcelProperty(index = 333, value = ["Annual Loser 1Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualLoser1Return: BigDecimal? = null

    @ExcelProperty(index = 334, value = ["Annual Loser 2Name"])
    open var annualLoser2Name: String? = null

    @ExcelProperty(index = 335, value = ["Annual Loser 2Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualLoser2Return: BigDecimal? = null

    @ExcelProperty(index = 336, value = ["Annual Loser 3Name"])
    open var annualLoser3Name: String? = null

    @ExcelProperty(index = 337, value = ["Annual Loser 3Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualLoser3Return: BigDecimal? = null

    @ExcelProperty(index = 338, value = ["Annual Loser 4Name"])
    open var annualLoser4Name: String? = null

    @ExcelProperty(index = 339, value = ["Annual Loser 4Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualLoser4Return: BigDecimal? = null

    @ExcelProperty(index = 340, value = ["Annual Loser 5Name"])
    open var annualLoser5Name: String? = null

    @ExcelProperty(index = 341, value = ["Annual Loser 5Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualLoser5Return: BigDecimal? = null

    @ExcelProperty(index = 342, value = ["Annual Loser 6Name"])
    open var annualLoser6Name: String? = null

    @ExcelProperty(index = 343, value = ["Annual Loser 6Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualLoser6Return: BigDecimal? = null

    @ExcelProperty(index = 344, value = ["Annual Loser 7Name"])
    open var annualLoser7Name: String? = null

    @ExcelProperty(index = 345, value = ["Annual Loser 7Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualLoser7Return: BigDecimal? = null

    @ExcelProperty(index = 346, value = ["Annual Loser 8Name"])
    open var annualLoser8Name: String? = null

    @ExcelProperty(index = 347, value = ["Annual Loser 8Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualLoser8Return: BigDecimal? = null

    @ExcelProperty(index = 348, value = ["Annual Loser 9Name"])
    open var annualLoser9Name: String? = null

    @ExcelProperty(index = 349, value = ["Annual Loser 9Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualLoser9Return: BigDecimal? = null

    @ExcelProperty(index = 350, value = ["Annual Loser 10Name"])
    open var annualLoser10Name: String? = null

    @ExcelProperty(index = 351, value = ["Annual Loser 10Return"])
    @Column(columnDefinition = "decimal(10,4)")
    open var annualLoser10Return: BigDecimal? = null


    @Column(columnDefinition = "decimal(10,4)")
    open var changeInStrategyAum: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var changeInStrategyAumDueToPerformance: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var changeInStrategyAumDueToInflowAppro: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var changeInFundAum: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var changeInFundAumDueToPerformance: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var changeInFundAumDueToInflowAppro: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var threeMRollPerf: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var sixMRollPerf: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var twelveMRollPerf: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var thirtySixMRollPerf: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var twelveMRollVol: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var thirtySixMRollVol: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var subprimeCrisisNov07Jul08: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var creditMeltdownAug08Oct08: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var greeceDebtCrisisMay10Jun10: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var uSEuropeCrisisMay11Sep11: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var euroSovereignDebtCrisisIIMar12May12: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var rMBDevaluationShockMay15Sep15: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var chinaCircuitBreakerShockJan16Feb16: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var covid19Mar2020: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var exposureNet: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var exposureGross: BigDecimal? = BigDecimal.ZERO

    @Convert(converter = JpaExposureInfoJsonConverter::class)
    @Column(columnDefinition = "text")
    open var exposureInfo: ExposureInfo? = null

    @Column(columnDefinition = "decimal(10,4)")
    open var averageNet: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var averageGross: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var averageLong: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var averageShort: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var topOneLongDivideTotal: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var topFiveLongDivideTotal: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var topTenLongDivideTotal: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var topOneShortDivideTotal: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var topFiveShortDivideTotal: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var topTenShortDivideTotal: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var longCumulative: BigDecimal? = BigDecimal.ZERO

    @Column(columnDefinition = "decimal(10,4)")
    open var shortCumulative: BigDecimal? = BigDecimal.ZERO

    @Convert(converter = JpaCumulativeInfoJsonConverter::class)
    @Column(columnDefinition = "text")
    open var cumulativeInfo: CumulativeInfo? = null


}


open class ExposureInfo {

    // --------------------- 行业 ---------------------------
    open var exposureConsumerStaplesNet: BigDecimal? = BigDecimal.ZERO

    open var exposureConsumerDiscretionaryNet: BigDecimal? = BigDecimal.ZERO

    open var exposureInformationTechnologyNet: BigDecimal? = BigDecimal.ZERO

    open var exposureFinancialsNet: BigDecimal? = BigDecimal.ZERO

    open var exposureHealthCareNet: BigDecimal? = BigDecimal.ZERO

    open var exposureIndustrialsNet: BigDecimal? = BigDecimal.ZERO

    open var exposureUtilitiesNet: BigDecimal? = BigDecimal.ZERO

    open var exposureMaterialsNet: BigDecimal? = BigDecimal.ZERO

    open var exposureRealEstateNet: BigDecimal? = BigDecimal.ZERO

    open var exposureEnergyNet: BigDecimal? = BigDecimal.ZERO

    open var exposureCommunicationServiceNet: BigDecimal? = BigDecimal.ZERO

    open var exposureIndexETFNet: BigDecimal? = BigDecimal.ZERO

    open var exposureCashNet: BigDecimal? = BigDecimal.ZERO

    open var exposureOthersNet: BigDecimal? = BigDecimal.ZERO

    open var exposureConsumerStaplesGross: BigDecimal? = BigDecimal.ZERO

    open var exposureConsumerDiscretionaryGross: BigDecimal? = BigDecimal.ZERO

    open var exposureInformationTechnologyGross: BigDecimal? = BigDecimal.ZERO

    open var exposureFinancialsGross: BigDecimal? = BigDecimal.ZERO

    open var exposureHealthCareGross: BigDecimal? = BigDecimal.ZERO

    open var exposureIndustrialsGross: BigDecimal? = BigDecimal.ZERO

    open var exposureUtilitiesGross: BigDecimal? = BigDecimal.ZERO

    open var exposureMaterialsGross: BigDecimal? = BigDecimal.ZERO

    open var exposureRealEstateGross: BigDecimal? = BigDecimal.ZERO

    open var exposureEnergyGross: BigDecimal? = BigDecimal.ZERO

    open var exposureCommunicationServiceGross: BigDecimal? = BigDecimal.ZERO

    open var exposureIndexETFGross: BigDecimal? = BigDecimal.ZERO

    open var exposureCashGross: BigDecimal? = BigDecimal.ZERO

    open var exposureOthersGross: BigDecimal? = BigDecimal.ZERO

    // --------------------- 市值 ---------------------------
    open var exposureBigger10bnNet: BigDecimal? = BigDecimal.ZERO

    open var exposure5To10bnNet: BigDecimal? = BigDecimal.ZERO

    open var exposure1To5bnNet: BigDecimal? = BigDecimal.ZERO

    open var exposureZeroPointThreeToOnebnNet: BigDecimal? = BigDecimal.ZERO

    open var exposureLitterZeroPointThreebnNet: BigDecimal? = BigDecimal.ZERO

    open var exposureBigger10bnGross: BigDecimal? = BigDecimal.ZERO

    open var exposure5To10bnGross: BigDecimal? = BigDecimal.ZERO

    open var exposure1To5bnGross: BigDecimal? = BigDecimal.ZERO

    open var exposureZeroPointThreeToOnebnGross: BigDecimal? = BigDecimal.ZERO

    open var exposureLitterZeroPointThreebnGross: BigDecimal? = BigDecimal.ZERO

    // --------------------- 地区 ---------------------------
    // --------------------- 美洲 ---------------------------
    open var exposureUSNet: BigDecimal? = BigDecimal.ZERO
    open var exposureCanadaNet: BigDecimal? = BigDecimal.ZERO
    open var exposureBrazilNet: BigDecimal? = BigDecimal.ZERO
    open var exposureMexicoNet: BigDecimal? = BigDecimal.ZERO
    open var exposureArgentinaNet: BigDecimal? = BigDecimal.ZERO
    open var exposureChileNet: BigDecimal? = BigDecimal.ZERO
    open var exposureColombiaNet: BigDecimal? = BigDecimal.ZERO
    open var exposurePeruNet: BigDecimal? = BigDecimal.ZERO

    open var exposureUSGross: BigDecimal? = BigDecimal.ZERO
    open var exposureCanadaGross: BigDecimal? = BigDecimal.ZERO
    open var exposureBrazilGross: BigDecimal? = BigDecimal.ZERO
    open var exposureMexicoGross: BigDecimal? = BigDecimal.ZERO
    open var exposureArgentinaGross: BigDecimal? = BigDecimal.ZERO
    open var exposureChileGross: BigDecimal? = BigDecimal.ZERO
    open var exposureColombiaGross: BigDecimal? = BigDecimal.ZERO
    open var exposurePeruGross: BigDecimal? = BigDecimal.ZERO

    // --------------------- 欧洲 ---------------------------
    open var exposureUKNet: BigDecimal? = BigDecimal.ZERO
    open var exposureGermanyNet: BigDecimal? = BigDecimal.ZERO
    open var exposureFranceNet: BigDecimal? = BigDecimal.ZERO
    open var exposureSwitzerlandNet: BigDecimal? = BigDecimal.ZERO
    open var exposureNetherlandsNet: BigDecimal? = BigDecimal.ZERO
    open var exposureItalyNet: BigDecimal? = BigDecimal.ZERO
    open var exposureSpainNet: BigDecimal? = BigDecimal.ZERO
    open var exposureSwedenNet: BigDecimal? = BigDecimal.ZERO

    open var exposureUKGross: BigDecimal? = BigDecimal.ZERO
    open var exposureGermanyGross: BigDecimal? = BigDecimal.ZERO
    open var exposureFranceGross: BigDecimal? = BigDecimal.ZERO
    open var exposureSwitzerlandGross: BigDecimal? = BigDecimal.ZERO
    open var exposureNetherlandsGross: BigDecimal? = BigDecimal.ZERO
    open var exposureItalyGross: BigDecimal? = BigDecimal.ZERO
    open var exposureSpainGross: BigDecimal? = BigDecimal.ZERO
    open var exposureSwedenGross: BigDecimal? = BigDecimal.ZERO

    // --------------------- 中东及非洲 ---------------------------
    open var exposureSaudiArabiaNet: BigDecimal? = BigDecimal.ZERO
    open var exposureUnitedArabEmiratesNet: BigDecimal? = BigDecimal.ZERO
    open var exposureSouthAfricaNet: BigDecimal? = BigDecimal.ZERO
    open var exposureNigeriaNet: BigDecimal? = BigDecimal.ZERO
    open var exposureEgyptNet: BigDecimal? = BigDecimal.ZERO

    open var exposureSaudiArabiaGross: BigDecimal? = BigDecimal.ZERO
    open var exposureUnitedArabEmiratesGross: BigDecimal? = BigDecimal.ZERO
    open var exposureSouthAfricaGross: BigDecimal? = BigDecimal.ZERO
    open var exposureNigeriaGross: BigDecimal? = BigDecimal.ZERO
    open var exposureEgyptGross: BigDecimal? = BigDecimal.ZERO

    // --------------------- 亚太地区 ---------------------------
    open var exposureJapanNet: BigDecimal? = BigDecimal.ZERO
    open var exposureChinaNet: BigDecimal? = BigDecimal.ZERO
    open var exposureHongKongNet: BigDecimal? = BigDecimal.ZERO
    open var exposureTaiwanNet: BigDecimal? = BigDecimal.ZERO
    open var exposureAustraliaNet: BigDecimal? = BigDecimal.ZERO
    open var exposureIndiaNet: BigDecimal? = BigDecimal.ZERO
    open var exposureSouthKoreaNet: BigDecimal? = BigDecimal.ZERO
    open var exposureSingaporeNet: BigDecimal? = BigDecimal.ZERO
    open var exposureIndonesiaNet: BigDecimal? = BigDecimal.ZERO
    open var exposureMalaysiaNet: BigDecimal? = BigDecimal.ZERO
    open var exposureThailandNet: BigDecimal? = BigDecimal.ZERO
    open var exposurePhilippinesNet: BigDecimal? = BigDecimal.ZERO
    open var exposureVietnamNet: BigDecimal? = BigDecimal.ZERO
    open var exposureNewZealandNet: BigDecimal? = BigDecimal.ZERO
    open var exposureOtherCountryNet: BigDecimal? = BigDecimal.ZERO


    open var exposureJapanGross: BigDecimal? = BigDecimal.ZERO
    open var exposureChinaGross: BigDecimal? = BigDecimal.ZERO
    open var exposureHongKongGross: BigDecimal? = BigDecimal.ZERO
    open var exposureTaiwanGross: BigDecimal? = BigDecimal.ZERO
    open var exposureAustraliaGross: BigDecimal? = BigDecimal.ZERO
    open var exposureIndiaGross: BigDecimal? = BigDecimal.ZERO
    open var exposureSouthKoreaGross: BigDecimal? = BigDecimal.ZERO
    open var exposureSingaporeGross: BigDecimal? = BigDecimal.ZERO
    open var exposureIndonesiaGross: BigDecimal? = BigDecimal.ZERO
    open var exposureMalaysiaGross: BigDecimal? = BigDecimal.ZERO
    open var exposureThailandGross: BigDecimal? = BigDecimal.ZERO
    open var exposurePhilippinesGross: BigDecimal? = BigDecimal.ZERO
    open var exposureVietnamGross: BigDecimal? = BigDecimal.ZERO
    open var exposureNewZealandGross: BigDecimal? = BigDecimal.ZERO
    open var exposureOtherCountryGross: BigDecimal? = BigDecimal.ZERO


}

open class CumulativeInfo {
    // --------------------- 所有地区的Cumulative ---------------------------
    open var uSCumulative: BigDecimal? = BigDecimal.ZERO

    open var canadaCumulative: BigDecimal? = BigDecimal.ZERO

    open var brazilCumulative: BigDecimal? = BigDecimal.ZERO

    open var mexicoCumulative: BigDecimal? = BigDecimal.ZERO

    open var argentinaCumulative: BigDecimal? = BigDecimal.ZERO

    open var chileCumulative: BigDecimal? = BigDecimal.ZERO

    open var colombiaCumulative: BigDecimal? = BigDecimal.ZERO

    open var peruCumulative: BigDecimal? = BigDecimal.ZERO

    open var uKCumulative: BigDecimal? = BigDecimal.ZERO

    open var germanyCumulative: BigDecimal? = BigDecimal.ZERO

    open var franceCumulative: BigDecimal? = BigDecimal.ZERO

    open var switzerlandCumulative: BigDecimal? = BigDecimal.ZERO

    open var netherlandsCumulative: BigDecimal? = BigDecimal.ZERO

    open var italyCumulative: BigDecimal? = BigDecimal.ZERO

    open var spainCumulative: BigDecimal? = BigDecimal.ZERO

    open var swedenCumulative: BigDecimal? = BigDecimal.ZERO

    open var saudiArabiaCumulative: BigDecimal? = BigDecimal.ZERO

    open var unitedArabEmiratesCumulative: BigDecimal? = BigDecimal.ZERO

    open var southAfricaCumulative: BigDecimal? = BigDecimal.ZERO

    open var nigeriaCumulative: BigDecimal? = BigDecimal.ZERO

    open var egyptCumulative: BigDecimal? = BigDecimal.ZERO

    open var japanCumulative: BigDecimal? = BigDecimal.ZERO

    open var chinaCumulative: BigDecimal? = BigDecimal.ZERO

    open var hongKongCumulative: BigDecimal? = BigDecimal.ZERO

    open var taiwanCumulative: BigDecimal? = BigDecimal.ZERO

    open var australiaCumulative: BigDecimal? = BigDecimal.ZERO

    open var indiaCumulative: BigDecimal? = BigDecimal.ZERO

    open var southKoreaCumulative: BigDecimal? = BigDecimal.ZERO

    open var singaporeCumulative: BigDecimal? = BigDecimal.ZERO

    open var indonesiaCumulative: BigDecimal? = BigDecimal.ZERO

    open var malaysiaCumulative: BigDecimal? = BigDecimal.ZERO

    open var thailandCumulative: BigDecimal? = BigDecimal.ZERO

    open var philippinesCumulative: BigDecimal? = BigDecimal.ZERO

    open var vietnamCumulative: BigDecimal? = BigDecimal.ZERO

    open var newZealandCumulative: BigDecimal? = BigDecimal.ZERO

    open var otherCountryCumulative: BigDecimal? = BigDecimal.ZERO

    // --------------------- 所有行业的Cumulative ---------------------------
    open var consumerStaplesCumulative: BigDecimal? = BigDecimal.ZERO
    open var consumerDiscretionaryCumulative: BigDecimal? = BigDecimal.ZERO
    open var informationTechnologyCumulative: BigDecimal? = BigDecimal.ZERO
    open var financialsCumulative: BigDecimal? = BigDecimal.ZERO
    open var healthCareCumulative: BigDecimal? = BigDecimal.ZERO
    open var industrialsCumulative: BigDecimal? = BigDecimal.ZERO
    open var utilitiesCumulative: BigDecimal? = BigDecimal.ZERO
    open var materialsCumulative: BigDecimal? = BigDecimal.ZERO
    open var realEstateCumulative: BigDecimal? = BigDecimal.ZERO
    open var energyCumulative: BigDecimal? = BigDecimal.ZERO
    open var communicationServiceCumulative: BigDecimal? = BigDecimal.ZERO
    open var indexETFCumulative: BigDecimal? = BigDecimal.ZERO
    open var cashCumulative: BigDecimal? = BigDecimal.ZERO
    open var othersCumulative: BigDecimal? = BigDecimal.ZERO

    // --------------------- 所有市值的Cumulative ---------------------------
    open var bigger10bnCumulative: BigDecimal? = BigDecimal.ZERO
    open var fiveTo10bnCumulative: BigDecimal? = BigDecimal.ZERO
    open var oneTo5bnCumulative: BigDecimal? = BigDecimal.ZERO
    open var zeroPointThreeToOnebnCumulative: BigDecimal? = BigDecimal.ZERO
    open var litterZeroPointThreebnCumulative: BigDecimal? = BigDecimal.ZERO

    // --------------------- 所有资产类别的Cumulative ---------------------------
    open var equitiesCumulative: BigDecimal? = BigDecimal.ZERO
    open var fixedIncomeCumulative: BigDecimal? = BigDecimal.ZERO
    open var currenciesFXCumulative: BigDecimal? = BigDecimal.ZERO
    open var commoditiesCumulative: BigDecimal? = BigDecimal.ZERO
    open var alternativeInvestmentsCumulative: BigDecimal? = BigDecimal.ZERO
    open var realEstateAssetClassCumulative: BigDecimal? = BigDecimal.ZERO
    open var otherAssetClassCumulative: BigDecimal? = BigDecimal.ZERO

    // --------------------- 所有Investment tool的Cumulative ---------------------------
    open var cashSpotCumulative: BigDecimal? = BigDecimal.ZERO
    open var futuresCumulative: BigDecimal? = BigDecimal.ZERO
    open var optionsCumulative: BigDecimal? = BigDecimal.ZERO
    open var swapsCumulative: BigDecimal? = BigDecimal.ZERO
    open var etfETPCumulative: BigDecimal? = BigDecimal.ZERO
    open var otherToolCumulative: BigDecimal? = BigDecimal.ZERO


}
